持續整合、設計最佳化、小型發佈、簡單的設計
持續整合(Continuous integration)
當系統的規模變大,便需要將系統細分成各區塊已降低設計及開發難度,但是往往要各區塊整合在一起時,又會引發整合上的問題,一旦在開發後期才發現整合有問題,會使得修改的困難度相對的提升。因此XP強調不要到開發後期才做整合及整合測試,應該隨時在小幅度的變動完成時就要持續地做自動化的整合測試,才能早期發現早期冶療。
設計最佳化(Design improvement)
在XP快速開發的流程下,很多時候都會選擇先能動就好的捷徑來開發,導致整個系統可能會有重覆的程式碼或是不良的架構設計。當程式碼越寫越髒,壞味道越聞越臭時,就該重構程式碼以保持設計的最佳化。
小型發佈(Small releases)
為快速得到客戶的回饋及信任,XP強調用短週期的開發將可運行的功能實作出來,好可以小規模的更新系統並發佈。藉由這種小規模的「射擊再瞄準」來快速得到回饋及修正,好確保生產出來的是客戶確實需要的產品。
簡單的設計(Simple design)
由於系統會不斷地因為需求改變而調整,因此XP建議系統的設計要維持在最簡單明白的狀態,不做任何未來不確定會不會用到這類假設性的過度設計。由於設計保持簡單的狀態,一旦需要做出架構設計上的調整時,也能在最小的邊際效應下進行,完成變更。所以為了要達到這個目的,便需要一直施行重構,才能將設計調整在最簡單的狀態。